Knowledge filter

ABSTRACT

A method and system for sharing knowledge is disclosed. The method and system comprises receiving information input into a database and organizing items of information in the database. The method and system further includes collecting ratings and comments associated with each item of information and allowing users to access and sort items of information according to selected rating criteria in order to find the most reliable and/or valuable information from the database. In a second aspect, the present invention including an interface for providing information concerning a subject is disclosed. The interface comprises a first area that shows the subject and contributor name; and a second area that shows the content of the information item. The interface includes a third area that shows rating related to the subject; and a fourth area that allows users to submit ratings for the information item. Accordingly, a knowledge sharing system and interface are provided which allows every member of a knowledge sharing group to benefit from aggregate knowledge, experience and opinions of other members of the group. The system and method allows individual members to easily locate the information from a collectively generated knowledge base that is most consistent with that individual&#39;s personal measures of value in the information.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. application Ser. No. 09/685,165, filed Oct. 5, 2000, entitled “Knowledge Filter,” which claims benefit of 60/158,496, filed Oct. 8, 1999, entitled “Knowledge Filter,” both of which are incorporated herein by reference in their entireties.

FIELD OF THE INVENTION

The present invention relates to a system and apparatus for allowing groups of individuals connected to a computer network such as the Internet to collaboratively build a self-organizing knowledge base that uses ratings and commentary provided by a plurality of users to rank, sort and deliver the information from the knowledge base which best matches each individual user's personal criteria for value in information.

BACKGROUND OF THE INVENTION

In the last few years, a well known network of interconnected computers called the Internet has made it possible for people to use personal computers linked to central systems to engage in two-way information exchange. Existing systems of Internet-based information exchange include NewsGroups, Listservs, threaded discussion forums and Online databases. Local area networks (LANS) and Intranets also allow people connected to private computer networks to share information among members of an organization. Network based systems differ from traditional media formats in that they allow users to contribute as well as to access information. The most common form of network-based knowledge-sharing technology is called threaded discussion. The format used by most threaded discussion systems pre-dates the World Wide Web and is based on an older Internet protocol called Usenet. A threaded discussion is a forum where one person can “post” a communication (start a “thread”) and others can reply to that post or start a new thread. There are three main problems with threaded discussion:

a) There is no way of knowing how useful or accurate a given contribution or “posting” is.

b) There is no easy way to organize the postings into a logical knowledge structure.

c) Once a large number of postings are added to the system, it becomes unwieldy and very difficult to find the useful information among the many unedited posts.

A number of approaches have been used to try to increase the value of information in threaded discussion forums. One method of editing involves deleting older messages. Some such systems allow users to specify the age of messages that appear on their screen. In such systems older messages are lost, regardless of their value. Other systems move the older messages to an archive where they can be retrieved only if the user already knows what he or she is searching for so that search terms can be used to locate relevant messages. Another type of system relies on a moderator to edit messages for value before they are posted. Moderated discussion forums or Usenet “newsgroups” are generally favored over un-moderated ones that can quickly become clogged with redundant messages, turn into shouting matches or commercial solicitations. Some of the problems with moderated discussion forums are that:

a) The editorial process is placed in the hands of one person who may have personal biases that control the content of the system.

b) The moderator's job can become overwhelming when the number of posts increases.

c) There is significant personnel cost associated with the maintenance of such a system.

d) The moderator's criteria for value in information may not match that of individual users.

There are a number of other knowledge management systems that allow groups of people to share a central body of knowledge. Groupware systems allow individuals to contribute to, or to comment on a shared document or database. These systems generally allow an authorized person or persons to accept or reject contributions made by others. Groupware systems tend to be inter-active, but not democratic. Another field related to the present invention is the field of polling software. Polling software is used to conduct surveys or polls on specific topics. This type of software uses database technology to track opinions and report statistics on topics that are chosen by the administrators of the system. The more sophisticated polling software systems allow users to rate items for more than one criteria.

Another related field is called collaborative filtering. Collaborative filtering is a process that collects information on the tastes or interests of members of a group and makes predictions about what other members of the group will like based on similarities found in the collected data. This is a passive process for the user and is very different from the active process of ratings-based filtering described herein.

OBJECTS OF THE INVENTION

In order to make use of the vast amount of unedited information available to a computer connected to a network such as the Internet, a method of filtering must be found that will allow individuals to ascertain which pieces of information are most reliable, useful or meaningful to them. If a large number of individuals are allowed to contribute knowledge and opinions to a central database, a method for automatically organizing the data into a logical knowledge structure must be found. Since many people might contribute information to a database that may include a broad range of value or reliability, and since many other people interested in the same subject may have experience or knowledge relating to each contribution, it would be useful to create a system that would collect opinions, ratings and commentary from a plurality of users and would calculate the aggregate ratings for a number of multiple criteria of value and make them available to each individual user. It would also be useful to use the rating scores as a means for sorting, filtering and organizing the information in the database in accordance with the rating scores given by the group. Since each individual has a different idea of what sort of rating criteria are important to them, it would also be useful to be able to dynamically sort the information in a way that most closely matches each individual's criteria for value in information. In order for a new piece of information contributed to a large database to be seen by enough people to receive ratings, a method must also be found to give new postings broad exposure while retaining the system's ability to sort postings according to their group rating data. Additionally, it would be useful for an individual seeking information on a subject to be able to know what the main arguments for and against a given opinion are, in order to be able to make an informed decision regarding the subject. It would also be useful to provide a means of communication that would allow an individual to communicate with the provider of opinions.

The object of the present invention is to design a self-organizing system that is easy to navigate, easy to contribute content and opinions to, and that automatically presents the information that is most meaningful or useful to an individual user to that users attention without discarding the rest of the information in the database. A further object of the invention is to provide easy to interpret visual symbols and rating data for a number of information contributions in a way that allows them to be simultaneously displayed on a computer screen before they are selected and viewed by a user. Another object of the invention is to provide the framework for such a system that can easily be adopted to a number of subjects that may have varying rating criteria and subject organization parameters.

Such a system would effectively combine a computer network's ability to store and process vast amounts of information with the distinctly human ability to discern meaning and value.

What is needed then, is a system that is similar to threaded discussion, but that records the reactions and additional experience of the many members of a knowledge-sharing community and then uses this additional information associated with each posting to organize the database in a way that allows individual users to sort and retrieve the information from the database that is most reliable and most useful to them and to have access to both sides of controversial issues. The utility of such a system would be further enhanced if it were self-organizing, searchable and easy to navigate. If properly designed, such a system would also facilitate the cross-fertilization of ideas across academic and geographical boundaries and allow broader access to reliable information and opinion through the process which could be described as the democratization of knowledge. The present invention addresses such a need.

SUMMARY OF THE INVENTION

A method and system for sharing knowledge is disclosed. The method and system comprises receiving information input into a database and organizing items of information in the database. The method and system further includes collecting ratings and comments associated with each item of information and allowing users to access and sort items of information according to selected rating criteria in order to find the most reliable and/or valuable information from the database.

In a second aspect, the present invention includes a graphic user interface for providing information concerning a subject which is disclosed. The interface comprises a first area that shows the subject and contributor name, and a second area that shows the content of the information item. The interface includes a third area that shows ratings related to the subject; and a fourth area that allows users to submit ratings for the information item.

Accordingly, a knowledge sharing system and interface are provided which allows every member of a knowledge sharing group to benefit from the aggregate knowledge, experience and opinions of other members of the group. The system and method allows individual members to easily locate and filter the information from a collectively generated knowledge base that is most consistent with that individual's personal measures of value in information.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating the overall architecture and physical deployment of the KnowledgeFilter system.

FIG. 2 is a diagram illustrating the database structure that is used to store the data in one embodiment of the invention.

FIG. 3 is an illustration of the Knowledge Navigation Console user interface of one embodiment of the invention, showing navigation controls and various components of knowledge input and output of the system, showing an Item display.

FIG. 4 is an illustration of the Knowledge Navigation Console user interface, showing a Category list for the knowledge base.

FIG. 5 is an illustration of the Index Window user interface of one embodiment of the invention, showing detailed features of the knowledge output of the system in response to a user query.

FIG. 6 is an illustration of the display of the dynamically generated visual category map navigation system of the knowledge base.

FIG. 7 is an illustration of the Search interface of one embodiment of the invention, through which the user can perform searches for items meeting certain criteria.

FIG. 8 is an illustration of the Comments interface of one embodiment of the invention, through which the user can submit positive, negative, or neutral comments.

FIG. 9 is an illustration of the New Category Submittal interface.

FIG. 10 is an illustration of the New Item Submittal interface.

FIG. 11 is an activity diagram illustrating knowledge output of the KnowledgeFilter software in response to selection, viewing, and filtering activities of a user.

FIG. 12 is an activity diagram illustrating knowledge input activities of a user, showing rating activities, and submittal of new items.

FIG. 13 is an activity diagram showing printing and emailing outputs of the KnowledgeFilter software in response to selection activities of a user.

DETAILED DESCRIPTION

The present invention relates to a system and apparatus for allowing groups of individuals connected to a computer network such as the Internet to collaboratively build a self-organizing knowledge base that uses ratings and commentary provided by a plurality of users to rank, sort and deliver the information from the knowledge base which best matches each individual user's personal criteria for value in information. The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiment and the generic principles and features described herein will be readily apparent to those skilled in the art. Thus, the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest scope consistent with the principles and features described herein.

1. Introduction

KnowledgeFilter is a knowledge-sharing system which allows every member of a knowledge-sharing group to benefit from the aggregate knowledge, experience and opinions of other members of the group and allows individual members of the group to easily locate the information from the collectively generated knowledge base that is most consistent with that individual's personal measures of value in information. The system accomplishes these goals by:

1) Allowing members of the group to access and navigate a collectively-generated knowledge base.

2) Allowing members of the group to submit content to the knowledge base once they have navigated to the appropriate topic area.

3) Soliciting and tracking multi-criteria ratings and pro & con comments on content submissions from other members of the group.

4) Calculating and graphically displaying the aggregate feedback and commentary support level (corroboration level) of the group regarding each content submission.

5) Allowing users to sort the content submissions under any given topic area according to the aggregate scores for any individual rating criteria or a personally selected combination of criteria, causing the most valuable content to rise to the top of a dynamically generated list of content submissions. Custom sorting allows users to assign a weighting factor to each criteria by responding to prompts.

6) Allowing users to sort the content according to the level of comment support as determined by the ratio of positive to negative comments submitted by the knowledge-sharing group.

7) Allowing users to read or access the selected content in a graphic display format that also provides:

-   -   a) Graphic symbols representing the aggregate rating scores for         each of three main criteria and the level of comment support for         the content submission     -   b) A side-by-side display of comments supporting or disputing         the content submission allowing individuals to make informed         decisions and choices of what to believe or what methods to use         to accomplish a particular goal     -   c) A display of other comments providing additional information,         links or opinions on the content submission

8) Allowing users to search the knowledge base by key words appearing

-   -   a) Within the subject lines describing content submissions     -   b) Within the text of the content submissions themselves

9) Allowing users to add new subject or topic divisions to the knowledge base.

Additional features of the system include:

1) A knowledge base map that is automatically generated as topics and sub-topics are added to the knowledge base.

2) A system of tracking rating submissions that prevents any one user from voting on a given content submission more than one time.

3) Ratings associated with individual contributors are tracked, allowing content submissions to be sorted by source or contributor ranking.

4) An administrative function that allows a system administrator to edit content submissions and the knowledge base mapping structure.

5) Instant e-mail links to the contributors of content or comment submissions to facilitate communication between knowledge base users with interest or knowledge in a specific topic.

6) A feature that initially displays the content submissions under a topic in order of submission date, allowing new submissions to be exposed to the group for ratings and comment feedback.

The software can be used to collaboratively generate new knowledge in a specialized field as well as to combine, organize, access and filter existing bodies of knowledge or opinion. The basic software shell can be easily changed to adapt to any type of knowledge-sharing forum.

One embodiment of the software uses a system of HTML based text color-coding to allow users to quickly determine how individual contributions to a knowledge-base are rated by other users. The hue and saturation of each text link in a sorted list reveals immediate information on such parameters as how consistent individual postings are with other perspectives or facts, or how well a method, product or idea actually works in the real world.

2. General Operation

FIG. 1 is a block diagram illustrating the overall architecture and physical deployment of the KnowledgeFilter system. In FIG. 1, the numeral “102” designates generally the hardware components of a server computer designed to store and deliver information over the Internet. The server computer is of a performance level sufficient to deliver information to multiple remote users on the Internet, and is at least as powerful as a computer with 104 an Intel Pentium central processing unit (CPU), running at 366 mHz, with a minimum of 96 Mb of random access memory (RAM) 106, or any equivalent processing system. The RAM is used for operation of software and temporary storage of data objects necessary for the operation of the system.

The server computer 102 also includes a data storage facility (so-called non-volatile memory on a disk drive) 108, which is used to contain the database components of the system 110, as well as non-volatile components of the software, such as a copy of the operational code of the invention.

The server computer 102 also includes within the RAM 106 the operational software code of the system (the KnowledgeFilter Server, or KFS) 112; an HTTP (hypertext transport protocol) server, also known as a Web Server (or WS) 114; interfacing software called TCP/IP (transmission control protocol/Internet Protocol) 116 for communications with remote users through the Internet 122. Also included within the RAM 106 are temporary data objects 118 created during the operation of the software. These temporary data objects are more fully described below

The server computer 102 also includes interfacing hardware 120 to enable it to communicative over the Internet.

FIG. 1 also illustrates the hardware and software components of the remote user of the system, generally comprised of a computer commonly known as a personal computer 124, comprised of hardware components normally understood to be included in such a computer, such as a CPU, and RAM. The remote computer is at least as powerful as a computer with an Intel Pentium central processing unit (CPU), running at 166 mHz, with a minimum of 32 Mb of RAM, or any equivalent processing system. The remote computer 120 also includes interfacing hardware 116, typically such as a modem, enabling access to the Internet through a dial-up telephone connection. The remote computer 120 also includes software called an Internet browser 128 such as Microsoft Internet Explorer or Netscape Navigator, or a browser of generally equivalent capability, running in RAM.

The general operation of the system is as follows. To consult a KnowledgeBase using the system of the invention, the remote user at 124 sends a request for a display page on a web site located within the database on the server at 110. The request is routed through the Internet 122, and is received by the Web Server 114 in the server computer. The Web server interprets the request, and passes the request to KnowledgeFilter Server. The KnowledgeFilter Server interprets the request, retrieves data from the KnowledgeBase database, instantiates required data objects 118 in RAM, performs necessary calculations, composes a computer file commonly referred to as a web page in the Hypertext Markup Language (HTML), comprised of static components retrieved from the database and dynamic components derived from calculations on the data objects 118, and then sends the resulting computer file through the interfacing equipment 120, over the Internet 122, back to the remote user's computer at 124. The remote computer at 124 displays the resulting file through the browser software 128.

3. Database Structure

FIG. 2 is a diagram illustrating the database structure that is used to store the data in one embodiment of the invention. A knowledge base consists of a hierarchically organized category structure. A category can contain either sub-categories or items. The example embodiment of the knowledge base system used for descriptive purposes in this discussion is implemented as a Cookbook, containing categories of food with recipes for cooking food items, in the common meaning of the word “cookbook”. Items contain the knowledge entries as database records which depend on the particular application; for the CookBook an Item is a recipe.

The knowledge base is organized as a hierarchical structured category system, illustrated in FIG. 2. It is mapped into a database management software such as mySQL, which manages the storage, retrieval, and editing of the database records.

There is a single table kbtable 202 that lists as records all the categories currently in the knowledge base. The kbtable table includes the following field names for each record, with the indicated data types and uses:

TABLE 1 Field Name Use CatName the category name CatId a unique integer identifier that is auto incremented CatTab the category table name

Each Category has its own table 204, and the knowledge base can contain additional category tables 206, or sub-category tables 208, etc., which can be added administratively or by a user. The Category table name is build from kbcat and the Catld. A category table 204 consists of the following field names for each record, with the indicated data types and uses:

TABLE 2 Field Name Use Type a type classifier of the record, with values enumerated as parent; or category, which contains only sub-categories; or child - which contains only items Iname a record name Desc a description, which is only non-null for a record of type category Email the email address of the user who created the record Date the date the record was created CatId a unique identifier from entry in kbtable

Items are stored in an Item Table 210, and the knowledge base can contain additional item tables 212, etc., which can be added administratively or by a user. An Item record (in the case of the example embodiment of the invention, a recipe), is comprised of values of the following fields with the indicated data types and uses:

TABLE 3 Field Name Use id unique identifier allocated from kbtable rPost main body of the knowledge entry rEmail email address of contributor rLink link or source address rGrade overall grade value rTaste criteria 1 value rTasteCt criteria 1 count rHealth criteria 2 value rHealthCt criteria 2 count rEase criteria 3 value rEaseCt criteria 3 count rPosCom positive comments rPosCt positive comment count rNegCom negative comments rNegCt negative comment count rOthCom other comments rCorValue corroboration value rName item name rDate date created rCatid id of category to which item table is linked

FIG. 2 also shows the HTML Customization Table 214. HTML representation for different applications can be achieved by a definition record table for each knowledge base called <knowledge-base name>-defs.inc. Each knowledge base contains a record in this table. The names of the fields are used as variables by components of the KnowledgeFilter Server software. The values of the fields are the blocks of static HTML which are used for display purposes with the indicated uses:

TABLE 4 Field Use $nav_bar navigation bar display, used on all pages $h_srch_hdr search header $h_srch_ftr search footer $h_srchform search form $h_crCat_hdr create a category header $h_crCat create category body $h_itlist_hdr header for list of items $h_catlist_hdr header for list of sub-categories $h_catlist for single sub-category $h_catlist_ftr footer of sub-category list $h_item_hdr footer of item display $h_item for single item display $h_item_ftr footer for item display $h_itlist_hdr header for item list $h_itlist for single item entry in list $h_itlist_ftr footer for item list $h_ratedisp display of ratings on item display $h_recipe item rPost display $h_rateinput ratings input for item display $h_comments display of comments $h_varsort_hdr variable sort display $h_varsort_q variable sort weighting question display $h_crCom_hdr create comment header $h_crCom create comment body $h_crCom_ftr create comment footer

FIG. 2 also shows the Contributor Table 216, which is used to track contributors to the knowledge base and their contributions. A Contributor record is comprised of values of the following fields with the indicated data types and uses:

TABLE 5 Field Use id Contributor's id number cEmail email address cName name cGrade grade as rated by users cGradeCt number of times contributor is rated cProfile profile information about contributor cItemCt number of items contributed by contributor cDate date

4. Object Application Programming Interface

In the embodiment of the invention described herein, the KnowledgeFilter Server is implemented in a programming language called PHP3. During operation of the KnowledgeFilter Server, various data objects are instantiated (that is, created) in RAM 118 in response to user actions. Each data object is a segment of code called a class. The following classes are created.

The Cat Class is a category object found in class. Cat.php3. It implements a knowledge base category and hides the database management software implementation from the user's commands. Its main methods are idInit, which initializes a given database id and category id; Create; InsertCat; and InsertItem.

The Item Class is an item object found in class.Item.php3. It implements the knowledge entry and hides the details of accessing the database and storing the object data. Its main methods are idinit, which initializes item given a database id, a category id and an item id; and Create.

The Item Class is an iterator object found in class.Iter.php3. It implements an object that iterates through a list of objects, either categories or items. Its main methods are CatIter which sets a Category; Next which finds the next element; and ItemIter which sets an item. The View Class is an object that allows different representations of criteria 1 through 3 plus overall grades, and can also display category and items lists. The Log Class is an object used for logging user information.

5. Commands

The following commands are utilized in the operation of the system. The user does not have explicit access to these commands by name, but rather the system invokes these commands in context, in response to user input through the user interfaces described in the next section.

User Commands, invoked by user actions, are given in the following Table, together with the software module in which the command is encoded, and the action or information returned by the command.

TABLE 6 Command Software Module Action View Category viewcat.php3 Displays all sub categories or all items within the category. Create Category crCat.php3 Creates a new category at specific point in the hierarchy. When the category is created returns to list current category. Variable Sort crVarSort.php3 Performs a variable sort on items in a category. View Item viewitem.php3 Item browser. Create Comment crCom.php3 Adds comment to an existing item. Create site map crSiteMap.php3 Creates a map of all the categories and items within a knowledge base. Search Knowledge srchIndex.php3 Searches categories or items in a given base knowledge base. Browse contributors viewcontrib.php3 View detail about a viewdcon.php3 contributor

Administrative Commands, invoked by actions of an administrator, are given in the following Table, together with the software module in which the command is encoded, and the action or information returned by the command.

TABLE 7 Command Software Module Action Create navigation rNav.php3 Builds dynamic navigation menu. menu Administrator admincat.php3 Interface to administrator category browser Create new crNewKb.php3 Creates new database and HTML knowledge base customization definitions file. Remove category rmCat.php3 Allows a category to be removed but only if all sub-categories or items have been already removed. Remove Item rmRec.php3 Allows an item to be removed. Update Item upRec.php3 Updates item entry.

6. User Interface

FIG. 3 is an illustration of the Knowledge Navigation Console user interface of one embodiment of the invention, showing navigation controls and various components of knowledge output of the system, showing a Item display. The Knowledge Navigation Console 302 is the remote user interface for providing information concerning a subject. It includes the navigation controls and areas for various components of knowledge output and input of the system. It is comprised of:

1) an area 304 that shows the subject of the knowledge base;

2) the Navigation Area 306 that shows links to a knowledge base map related to the subject, links to search functions, and links to a content submission form, and a navigation index;

3) the Group Feedback Statistics Area 308 that shows statistics related to the subject of the knowledge base;

4) the Content Window 310 that displays the contents of an Item (a recipe in the case of the example embodiment of the invention); the Content Window can also be used to display results of knowledge base queries such as a category list 404 or an index page 502, discussed more fully below.

5) a Rating and Submission Area 312 that allows the user to provide information about the subject;

6) a Feedback Area 314 which allows a user to view feedback about the subject;

7) a graphic display format area 316 which provides a side-by-side display of comments supporting or disputing the content submission allowing individuals to make informed decisions and choices of what to believe or what methods to use to accomplish a particular goal;

8) a graphic display format area 318 which provides a display of other comments providing additional information, links or opinions on the content submission; and

9) an area 320 that allows a user to submit comments.

The Knowledge Navigation Console also contains a graphic display format which provides graphic symbols 322 for representing the aggregate rating scores for each criteria and for representing the level of comment support for the content submission.

FIG. 4 is an illustration of the Knowledge Navigation Console user interface, showing a Category list for the knowledge base. A category list is shown in the content window 310. This display also contains context-sensitive changes in the navigation area 306, including:

1) a link 406 to a display of a Visual Category Map;

2) a link 408 to a display to Search Categories display; and

3) a link 410 to a display to Create a New Category.

FIG. 5 is an illustration of the Index Window user interface of one embodiment of the invention, showing detailed features of the knowledge output of the system in response to a user query. An index page 502 showing standard and custom sorting options for lists of contributions to the knowledge base, is displayed in response to a user query. In the case of the embodiment of the invention in this description, the lists shown are recipes. The display is comprised of:

1) an area 504 in which a user can make sorting selections, including sort selections from a standard list 506; a quick sort button 508 which presents items sorted in accordance with a default such as by date of contribution of items; and a custom sort button 510 which brings up an auxilliary display 512 in which the user can make detailed selections rating the importance of sort criteria;

2) an area 514 where the sorted items are displayed in tabular form;

3) an area 516 in which search links are located, which when clicked bring up a context-sensitive search interface 702 shown in FIG. 7, in which the user can enter search terms in the input window 704.

FIG. 6 is an illustration of the display of the hierarchy of categories of the knowledge base. In the case of the present embodiment this display is a hierarchical list of recipes. Any item in this list can be clicked, bringing detailed information to the user in the form of the Knowledge Navigation Console 302 with the appropriate level of content displayed, such as a list of items 514.

In another embodiment of the invention, color coding of the subject descriptions corresponding to information items is used to provide a visual indication to the user of overall rating scores of the information items.

FIG. 8 is an illustration of the Comments interface of one embodiment of the invention, through which the user can submit positive, negative, or neutral comments. The user can enter comments about an item through the Comment interface 802, by writing in area 804. The comments can be tagged as positive or negative or neutral by means of radio buttons 806, and an email address can be added optionally 808 by the user to facilitate response from others.

FIG. 9 is an illustration of the New Category Submittal interface. The user employs the New Category Submittal interface 902 to create a new category. The user can select 904 whether the new category will contain items or subcategories (but not both), give the category a name 906, and a description 908.

FIG. 10 illustrates the New Item submittal interface 1002. In the case of the present example of this embodiment, the item submitted is a recipe. The interface is context-sensitive, and the category for which the submittal is being made is identified in words 1004. The user can submit the contents of an item in the input window 1006, as well as giving the item a name 1008, providing a link representing the source of the item 1010, and optionally giving an email address 1012 to facilitate correspondence between users of the system.

7. Use of the KnowledgeFilter System

FIG. 11 is an activity diagram illustrating knowledge output of the KnowledgeFilter software in response to selection, viewing, and filtering activities of a user. The user enters the system by retrieving the Web page corresponding to the Uniform Resource Locator (URL) of the knowledge base 1102. This results in the display 1104 of the Knowledge Navigation Console 302 with a Category Index View contained in the contents area 306. The user can select a Category 1106, which initiates the View Category command. The system displays a list of items in the selected category 1108 sorted by a default sorting criterion, such as date of submission as implemented in this embodiment of the invention. The user can now take one of four actions.

1) The user may select an item 1110 for immediate viewing 1112 in display format 302.

2) The user may select from a set of standard sorting options 506 in response to which the system displays the items in the requested sorted order 1116.

3) The user may select a quick sort 1118, which sorts the items based on a default criterion (such as by date of submission) in response to which the system displays the items in the requested sorted order 1116.

4) The user may select a custom sort 1120. The system responds by presenting 1122 a selection interface 512, through which the user select personal preferences indicating the importance of each rating criterion, assign relative weights to various rating criteria, and submit 724 a custom sorting query, in response to which the system calculates 726 a sort order based on a weighted average of the users inputs, and displays the items in the requested sorted order 716, causing the most useful content to rise to the top of the list. After any of the sorting options 2)-4) described above, the user can select an item 1110 for immediate viewing 1112 in display format 302.

FIG. 12 is an activity diagram illustrating knowledge input activities of a user, showing rating activities, and submittal of new items, and may be considered a continuation of FIG. 11. It shows rating activities, and submittal of new items. The user may view the knowledge base output of the system for a particular item 1202 displayed in the Knowledge Navigation Console 302.

The user can submit ratings 1206 of the displayed item by selecting from a range of predetermined values of rating variables 314 through the rating submission button in the rating submission area 312. The system responds by adding the ratings to the aggregate values for the item and redisplaying the item 1208. The system constrains the user by tracking and controlling the rating process to prevent the user from submitting multiple ratings of a single information item.

The system also tracks the aggregate ratings of contributors, allowing content item submissions to be sorted by contributor rating or ranking within the entire system. The user can also communicate with individual contributors by automated communication links. The user can also make comments 1210 by selecting the comment interface 802, and filling in the text area 804, and choosing to tag the comments as positive, negative, or neutral by means of the radio buttons 806. The system responds by adding the comments to the record for the item, recalculates the aggregate ratings, and redisplaying the item with the aggregate ratings, comments 1208, and level of comments support 308. From the Knowledge Navigation Console 302, with the category list displayed, the user can select 1212 to submit a new category through the Create a New Category interface 902. The system responds by adding the category to the list of categories and displaying the category list with the new category included.

From the Knowledge Navigation Console with the items list for a particular category displayed 502, the user can select to submit a new item through the New Item interface 1002. The system responds by adding the new Item to the knowledge base, and displaying the category with the new Item included. Since the default sort of items is by date of submission, the newly submitted item will appear at the top of the list of items. The new Item can now be viewed, and rated by the same or some different user(s), enhancing the value of the knowledge base.

FIG. 13 is an activity diagram showing printing and emailing outputs of the KnowledgeFilter software in response to selection activities of a user. From the Knowledge Navigation Console with an Item displayed 302, the user can select to print the Item 1304 which results in printed output 1306 through the browser's print function. The user can also select 1308 to email an Item to another individual. The system invokes an email interface 1310, enabling the user to fill in the recipient's email address 1312, and send the Item 1314.

Although the present invention has been described in accordance with the embodiments shown, one of ordinary skill in the art will readily recognize that there could be variations to the embodiments and those variations would be within the spirit and scope of the present invention. Accordingly, many modifications may be made by one or ordinary skill in the art without departing from the spirit and scope of the appended claims. 

1-28. (canceled)
 29. A method, comprising: a computer system receiving items of information from a plurality of users; the computer system storing the items of information in a database; the computer system maintaining for each of the items of information a plurality of aggregate ratings, wherein each of the aggregate ratings for a given information item is based on a plurality of individual rating values received from respective users; and the computer system sorting at least a subset of the items of information in response to a request from a first user, wherein said sorting is performed according to a customized function of the aggregate ratings, wherein the customized function is specified by input received from the first user.
 30. The method of claim 29, further comprising: receiving comments from one or more users of the plurality of users, wherein each of the comments is regarding a corresponding one of the items of information; and for each of the comments, receiving an indication of whether the comment is a positive, neutral, or negative comment on the respective corresponding item of information; wherein said maintaining the plurality of aggregate ratings includes maintaining a count of a number of positive comments and count of a number of negative comments for each of items of information, wherein a first of the plurality of aggregate ratings is based on the number of positive comments and the number of negative comments.
 31. The method of claim 29, further comprising: receiving a selection of a subject area; displaying an index for a subset of the items of information related to the selected subject area; and displaying information representing one or more of the plurality of aggregate ratings for each of the items of information of said subset.
 32. The method of claim 29, wherein said receiving items of information includes: receiving, from a given one of said plurality of users, information indicating a selection of a subject area within the database; and receiving, from the given user, a first of the items of information; and wherein said storing the items of information includes storing the first item of information as being related to the selected subject area.
 33. The method of claim 30, further comprising: preventing the first user from providing rating inputs more than once on any one of the items of information.
 34. The method of claim 30, wherein a first of the aggregate ratings of a given information item of the items of information is calculated using the ratio of positive comments to negative comments submitted for the given information item.
 35. The method of claim 29, wherein the customized function is a weighted combination of selected ones of the aggregate ratings.
 36. The method of claim 35, further comprising: receiving input from the first user, wherein the input specifies a weight value for said selected ones of the aggregate ratings, and wherein the customized function uses the specified weight value.
 37. The method of claim 29, further comprising: displaying one or more links, wherein each of the one or more links corresponds to a user of the plurality of users that is a contributor of one or more items of information; and allowing communication with said contributor.
 38. The method of claim 29, further comprising: receiving one or more key words; and performing a search of the items of information using the received key words.
 39. The method of claim 29, wherein the database includes a hierarchy of tables that includes: one or more tables of category type that are allowed to have children; and one or more tables of item type that are not allowed to have children; and wherein the items of information are stored in the tables of item type.
 40. The method of claim 39, further comprising dynamically updating a displayed map of the hierarchy of tables in response to an addition of a new table to the hierarchy of tables.
 41. The method of claim 29, further comprising: maintaining aggregate contributor ratings for respective users of the plurality of users; and sorting at least a subset of the items of information at least in part according to the aggregate contributor ratings of the respective users from which items of the subset of items of information are received.
 42. The method of claim 29, further comprising: displaying a subset of the items of information that correspond to a selected subset area, wherein the subset of items is displayed in order of submission date; and allowing ratings and commentary related to items of the subset of items of information.
 43. The method of claim 29, wherein the database includes a first hierarchy of tables that includes one or more tables of item type and one or more tables of category type; wherein the items of information are stored in the tables of item type; and wherein the method further comprises: receiving a request for the creation of a new table; and adding a new table to the first hierarchy in response to the request.
 44. A computer system, comprising: a processor; and a memory subsystem storing program instructions that, if executed by the computer system, cause the computer system to: receive items of information from a plurality of content contributors; store the items of information in a database; maintain for each of the items of information a plurality of aggregate ratings, wherein each of the aggregate ratings for a given information item is based on a plurality of individual rating values received from respective users; and sort at least a subset of the items of information in response to a request from a first user, wherein said sorting is based upon one or more of the aggregate ratings.
 45. The computer system of claim 44, wherein the sorting is based on a function of the aggregate ratings, wherein the function is based on input received from the first user.
 46. The computer system of claim 44, where said sorting is based on a first of the aggregate ratings, wherein the first aggregate rating is selected based on input received from the first user.
 47. The computer system of claim 44, wherein said sorting is based on a default combination of the aggregate ratings.
 48. The computer system of claim 44, wherein a first of the aggregate ratings is a summation of said plurality of individual rating values received from the respective users.
 49. A computer-readable memory medium having stored thereon program instructions that, if executed by a computer system, cause the computer system to: store items of information in a database, wherein the items of information are received from a plurality of users; maintain for each of the items of information an aggregate rating, wherein the aggregate rating for a given information item is based on a plurality of individual ratings received from respective users of the plurality of users; and display a sorted version of at least a subset of the items of information in response to a request from a first user, wherein said sorted version is sorted according to the aggregate rating.
 50. The memory medium of claim 49, wherein the aggregate rating is a summation of the plurality individual rating values received from the respective users.
 51. The memory medium of claim 49, wherein the individual ratings include: first ratings indicating a positive opinion regarding the given information item; and second ratings indicating a negative opinion regarding the given information item.
 52. The memory medium of claim 49, wherein the program instructions are further executable to cause the computer system to: receive comments regarding at least a subset of the information items; and store the comments in the database.
 53. The memory medium of claim 52, wherein the program instructions are further executable to cause the computer system to: display a selected one of the information items; display comments that are positive with regard to the selected information item in a first display area; and display comments that are negative with regard to the selected information item in a second display area that is separate from the first display area.
 54. A computer system, comprising: a processor; and a memory storing program instructions executable by the computer system to cause the computer system to: provide a plurality of users with access to a knowledge base that includes articles of content received from at least a subset of the plurality of users; maintain, for each of the articles of content in the knowledge base, two or more types of aggregate ratings associated with the article of content, wherein each of the two or more types of aggregate ratings is based on a corresponding plurality of individual user ratings of the associated article of content; in response to receiving a request from a first user of the knowledge base, sort content in the knowledge base according to a function of the two or more kinds of the aggregate ratings; and display the sorted content.
 55. A computer-readable memory medium having stored thereon program instructions that, if executed by a computer system, cause the computer system to: access from a server a first item of a plurality of items of information; transfer to the server one or more user ratings for the first item of information, wherein the server maintains for each of the items of information one or more aggregate ratings, and wherein each of the one or more aggregate ratings for a given information item is based on a plurality of individual ratings received from respective users; and send a request to the server for a sorting of at least a subset of the items of information according to a function of the one or more aggregate ratings, wherein the function is determined based on received input. 